home *** CD-ROM | disk | FTP | other *** search
- #include <Files.h>
- #include <Types.h>
- #include <errno.h>
-
- static short prev_wd = 0;
-
- int chdir(dirname)
- char * dirname;
- {
- char buf [256];
- WDPBRec paramblock;
-
- if (prev_wd != 0){
- paramblock.ioCompletion = NULL;
- paramblock.ioVRefNum = prev_wd;
- PBCloseWD (¶mblock, 0);
- }
-
- strncpy (buf, dirname, 255);
- buf [255] = 0;
- c2pstr (buf);
- paramblock.ioCompletion = NULL;
- paramblock.ioNamePtr = buf;
- paramblock.ioVRefNum = 0;
- paramblock.ioWDProcID = 'Caml';
- paramblock.ioWDDirID = 0;
- if (PBOpenWD (¶mblock, 0) != noErr){
- errno = ENOENT;
- return -1;
- }
- prev_wd = paramblock.ioVRefNum;
-
- paramblock.ioCompletion = NULL;
- paramblock.ioNamePtr = NULL;
- paramblock.ioVRefNum = prev_wd;
- paramblock.ioWDDirID = 0;
- if (PBSetVol ((ParmBlkPtr) ¶mblock, 0) != noErr){
- errno = ENOENT;
- return -1;
- }
- return 0;
- }
-
- char * searchpath(name)
- char * name;
- {
- return name;
- }
-
- void set_file_type (name, type)
- char *name;
- long type;
- {
- FInfo info;
-
- GetFInfo (name, 0, &info);
- info.fdType = type;
- SetFInfo (name, 0, &info);
- }
-